{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "aeb56f46-528a-4ebe-ae4b-1ff4abdfaec7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: matplotlib in d:\\programdata\\anaconda3\\lib\\site-packages (3.8.4)\n",
      "Requirement already satisfied: contourpy>=1.0.1 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (1.2.0)\n",
      "Requirement already satisfied: cycler>=0.10 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (0.11.0)\n",
      "Requirement already satisfied: fonttools>=4.22.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (4.51.0)\n",
      "Requirement already satisfied: kiwisolver>=1.3.1 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (1.4.4)\n",
      "Requirement already satisfied: numpy>=1.21 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (1.26.4)\n",
      "Requirement already satisfied: packaging>=20.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (23.2)\n",
      "Requirement already satisfied: pillow>=8 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (10.3.0)\n",
      "Requirement already satisfied: pyparsing>=2.3.1 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (3.0.9)\n",
      "Requirement already satisfied: python-dateutil>=2.7 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (2.9.0.post0)\n",
      "Requirement already satisfied: six>=1.5 in d:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)\n",
      "Requirement already satisfied: numpy in d:\\programdata\\anaconda3\\lib\\site-packages (1.26.4)\n",
      "Collecting sklearn\n",
      "  Downloading sklearn-0.0.post12.tar.gz (2.6 kB)\n",
      "  Preparing metadata (setup.py): started\n",
      "  Preparing metadata (setup.py): finished with status 'error'\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  error: subprocess-exited-with-error\n",
      "  \n",
      "  python setup.py egg_info did not run successfully.\n",
      "  exit code: 1\n",
      "  \n",
      "  [15 lines of output]\n",
      "  The 'sklearn' PyPI package is deprecated, use 'scikit-learn'\n",
      "  rather than 'sklearn' for pip commands.\n",
      "  \n",
      "  Here is how to fix this error in the main use cases:\n",
      "  - use 'pip install scikit-learn' rather than 'pip install sklearn'\n",
      "  - replace 'sklearn' by 'scikit-learn' in your pip requirements files\n",
      "    (requirements.txt, setup.py, setup.cfg, Pipfile, etc ...)\n",
      "  - if the 'sklearn' package is used by one of your dependencies,\n",
      "    it would be great if you take some time to track which package uses\n",
      "    'sklearn' instead of 'scikit-learn' and report it to their issue tracker\n",
      "  - as a last resort, set the environment variable\n",
      "    SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True to avoid this error\n",
      "  \n",
      "  More information is available at\n",
      "  https://github.com/scikit-learn/sklearn-pypi-package\n",
      "  [end of output]\n",
      "  \n",
      "  note: This error originates from a subprocess, and is likely not a problem with pip.\n",
      "error: metadata-generation-failed\n",
      "\n",
      "Encountered error while generating package metadata.\n",
      "\n",
      "See above for output.\n",
      "\n",
      "note: This is an issue with the package mentioned above, not pip.\n",
      "hint: See above for details.\n"
     ]
    }
   ],
   "source": [
    "!pip install matplotlib\n",
    "!pip install numpy\n",
    "!pip install sklearn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "925ea03a-4343-49cc-94fe-78827eddbac3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Y0cCAwP5z3/+46nMIiIiefPrr7BoEfj7w4sv2k4jHpbnUrNv3z7++usvHn300bPOq0lMTKRVq1a0bt2aCRMmuDOjiIhI/v3yC9x7rzm+/36oU8duHvG4fJ1+uvTSS2nRogXNmjUjIiKC0NBQypYtS5UqVdi1axcvvPACzz77rKeyioiIXJjLBa+/btaiycgwp5xGjLCdSgpBvkoNQPXq1Vm7di2hoaG4XC4OHjzIn3/+yZIlS/j4449ZtWoVsbGxVKxY0RN5RUREzu3wYXj0UfjsM3O/c2eYNg0iIqzGksLh5zp9xu95rFixgttuuy1nMvBJWVlZpKamsmnTJoKCgujbty/Lli1j9erVVPKiJaiTk5MJDw8nKSmJsLAw23FERMTdfvwRunaFhASzavD48WbTygssRSLeLT+f33keqWndujULFy7khhtuACA7Oxt/f7Mg8fvvv09ERASlSpXi/fff5/333/eqQiMiIg6WnQ2xsWYicFaWmTszdy5ceaXtZFLI8rxNwsKFC+ncuTN79+4FoFevXvTv35+9e/cyZcoUatSowbBhwzhy5AgPPfSQxwKLiIjkOHAAOnaEAQNMobnvPlizRoXGR+W51EydOpXp06dTsWJF3n//fRYvXkyfPn2oWLEi3333HcuWLSM+Pp6qVasycuRIT2YWERExm1M2aQKLF0NICEydCrNng9ZJ81l5nlNzusTERA4cOMCll156xt99+eWXFC9enOuuu84tAd1Fc2pERBwiKwtGjYKXXjKnni67zJxuatTIdjLxALfPqUlPT6dJkybEx8cDMG/ePFJSUliyZAlg5tekpqbSvXt3rrjiClq2bMl3331HlSpVCvitiIiInGbfPnjwQfjvf839Rx6Bt96CEiXs5hKvkKdSExQURLFixXLuv/7663Ts2PGM56WlpdG1a1cGDBigQiMiIu719dfwwAOm2BQvDm+/bUqNyP/k+eqngICAnGM/Pz+GDh3KX3/9Re3atQkNDQXg008/pXr16nTv3t39SUVExDdlZcGwYWYPJ5cLGjY0p5vq17edTLxMvvZ+uummm6hTpw779u3j77//pl27dqSlpREcHEzNmjVp3749EydO9GReERHxJbt3my0Ovv3W3H/iCbNa8D/WTBOBfFz9VKVKFfr27UtUVBQBAQE0aNCA3bt3c+jQITZt2sTw4cP5/fff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Rvfu3W3HcpyjR48yePBg6taty86dOxk3bhytW7cmNTXVdjRHmzNnDi1atKBGjRpW3l+lxk0GDx5MyZIleeqpp2xHcazGjRvz9ddf06BBAx599FHbcRwnNTWV7t27M2nSJG3850EPPPAAq1atIioqipo1a/Lmm2+ydOlSkpOTbUdzlPnz53Ps2DGWLVvGkCFDWLp0KUeOHGHWrFm2ozna5MmTc53BKGyaU+MGX331FZMnT2bVqlUUK1bMdhzH8vPz48orr2TmzJlUr16dxMRESpcubTuWYwwfPpyoqCg6dOhgO4pPiYiIIDs7mz179qhMutHOnTtp3rw5ZcqUASAwMJDGjRuzdetWy8mca8uWLWzZsoW2bdtay6CRmgL6+++/eeCBB5g0aRKXX3657TiOtGzZMvr165dzPzDQdHF/f/3zdac5c+awYMECIiIiiIiIYM6cOfTs2VOnVN3shRdeYO7cuTn3f/nlF/z9/YmMjLSYynkiIyM5ceJErse2b99O9erVLSVyvrlz59KxY0erv9xrpKYATpw4QceOHbnzzju54447OHr0KAAlSpTAz8/PcjrnuOyyy7jzzjupW7cut956K4MHD6Zdu3aEh4fbjuYo3333HZmZmTn3+/btS4sWLejWrZu9UA7UpEkTBg0aRMWKFcnMzCQ6Oppu3bpRvHhx29EcpUOHDkRHRzN58mQ6duzI/PnzWbduna5Q9aAlS5bYnxrgkov26aefuoAzblu3brUdzXGWLFniql+/vqtUqVKuLl26uPbv3287kuM98sgjrhkzZtiO4UgDBw50RUREuCIjI129evVyHT161HYkR1q5cqWrZcuWrtDQUFfNmjVdn376qe1IjnX8+HFXUFCQa+PGjVZzaJduERERcQRNShARERFHUKkRERERR1CpEREREUdQqRERERFHUKkRERERR1CpERGv8vnnn7Nr165cjy1YsIDNmzef8dzs7GzS09PPeDwjI4Ps7Ow8vd/hw4dz3U9PT89Zc0pEihaVGhHxKtHR0cTHx+d6bPDgwSxfvvyM527YsIHatWsTHBxMw4YNadiwIWFhYURGRvLrr79ecFfm1NRUateuzYIFC3IeW7FiBZdccskZq9GKiPdTqRGRQrNt27bzrrZ99OhRUlJSaNOmTc5j27dv5++//6Zly5Y5e8vs3bsXMKvzfvfdd0RGRhIXF0dcXBxt2rRh5syZ/Pe//yU0NJQaNWpQo0YNSpQoweTJk3O932effcYll1xCYmIiNWvWpE6dOjzyyCNkZGTQqFEj6tSpQ40aNXjrrbc88wMREbfSNgki4hUefvhhFi5cSEpKChUqVADgm2++4bPPPqNEiRLcfffdAKSkpNCqVatc+yedTXR0NLGxsWzbtg2Am266Kdf+Si6XixEjRhAdHc2DDz7IQw89REBAALNmzWLSpEmsXLkSMKeytO2JSNGgkRoR8QqpqamMGzeOjIwMDh48SMmSJXG5XMyYMYMFCxawadMmNm3axJgxYwgODs712oSEhJzTT8uWLQOgZMmSnDhxIucU1JYtW6hZs2bOa959911+++03KlasSGBgIEOHDqVZs2YMHjyY+Ph4mjVrRrNmzViwYEHOJqoi4t1UakTEiqysLDp27JizYebZdl2fNm0a5cuX55prrsl5LCMjg5CQkFzP++fpp5MqV67M3r17OXz4MAcPHqRevXqAOaXVt2/fnBEhMMXoiSeeYMeOHSQlJbF69WqaNWtGcnKyO79tEfEg/fohIlZER0eTlZXFtGnTzvmc22+/nTvvvJPHHnuMt99+m5CQEDIyMs4YqTmX+vXr8/vvv3Ps2DGuvvpqAgICAJg3bx7t2rUjLS0t57n+/v4MHTqU2NjYnMcOHDhAixYtLvI7FJHCppEaESl0Y8eOZdKkSUyePDnXqZ3o6GjKlStHuXLlSEhIoEqVKtxwww2sW7eOmTNnAuY01T9Lzfbt23MmBC9dujTn8TZt2rB48WLeffddunTpkvP4888/f9YyNWzYsJzJyFu2bOG+++5z83cuIp6kUiMihe6dd97hnnvuYcKECbkef+ONNzh48CAHDx7MmdTr5+fH888/z/jx43G5XKSmphIaGprrddWrV2fbtm1s27aNdu3a5Tz+wAMP8NFHH/HLL7/w8MMP5zzu5+dHqVKlzsg1fPjwnLk5DRs2vOBkZBHxLjr9JCKFbsmSJYSEhNCgQQOee+45atSocd7nd+nSha+++opjx45x/PhxwsPDz3jOsWPHWLNmDQkJCQwcOJBFixYRGxtLyZIlqVSpEiVLlrxgriFDhtCjR4+c+6cfi4j300iNiBS6OnXqULVqVbp168bgwYMv+PzQ0FBmzZpFyZIlSUxMJCwsDIAdO3bQt29ftm3bxrXXXsv8+fPJzs5m0KBBTJw4kSeffJIGDRoQFhbG448/fsEF9TRSI1K0qdSIiDUxMTEsWLCAdevWkZmZecacmszMzFzPT01N5aeffqJu3boAVKxYkauuuootW7awdu1axo8fn3Pa6tZbb2X9+vXMmjWLuXPn8vfff9OkSRMOHDiQ8/WysrJIT0/Puex7yJAhOVdRxcXFcc899wDkmlAsIt7Lz+VyuWyHEBEZN24cUVFRXHfddQCMGTOGhx56iMqVK3PixAnatm1LyZIl6dChA9HR0edcEO+WW27hmWeeISMjgzZt2lC6dGnAXAq+fPnyXHNu2rZtS6tWrZg6dSrFihU769d0uVwUK1aMLVu2eOC7FhF3UqkRERERR9DpJxEREXEElRoRERFxBJUaERERcQSVGhEREXEElRoRERFxBJUaERERcQSVGhEREXEElRoRERFxBJUaERERcQSVGhEREXGE/wdtx5V9b+ebvAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#导入需要的模块\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn.neighbors import KNeighborsRegressor\n",
    "from sklearn.model_selection import train_test_split\n",
    "#数据处理\n",
    "x=np.array([[182],[178],[170],[168],[165],[162],[158],[154],[149],[144]])\n",
    "y=np.array([[113],[105],[86],[83],[86],[74],[72],[45],[49],[43]])\n",
    "x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=0)\n",
    "#k取不同值的情况下，模型的预测误差率计算\n",
    "k_range=range(2,8)    #设置k值得取值范围\n",
    "k_error=[]            #保存预测误差率的数据\n",
    "for k in k_range:\n",
    "    model=KNeighborsRegressor(n_neighbors=k)\n",
    "    model.fit(x_train,y_train)\n",
    "    scores=model.score(x_test,y_test)\n",
    "    k_error.append(1-scores)\n",
    "#画图，x轴表示k的取值，y轴表示预测误差率\n",
    "plt.rcParams['font.sans-serif']='SimHei'\n",
    "plt.plot(k_range,k_error,'r-')\n",
    "plt.xlabel('k的取值')\n",
    "plt.ylabel('预测误差率')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "e6a9d899-2f01-4834-8ba8-fa90bbee8c31",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj8AAAGyCAYAAAALaqWsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9JUlEQVR4nO3dfVzV9f3/8SccriTjAEqtyAuUfjoTVhl5Bt+sbbZqyppUm9kK7MrmyizlW65aWU6pmdm6sFkW2tSyhq3aKls1lykUfb2AsBoqhXblBRxQ9IjnfH5/fOIsFBTxHD7n8Hncbzdunc8FH16nd3Cefd7vz/sdYRiGIQAAAJuItLoAAACArkT4AQAAtkL4AQAAtkL4AQAAtkL4AQAAtkL4AQAAtkL4AQAAtkL4AQAAtkL4AQAAtkL4AQAAtmJp+Nm5c6fS0tJUU1PT5vELL7xQxcXF/u3KykplZWUpKSlJhYWFYmUOAABwtCwLPzt27NDo0aPbDT6LFy/WG2+84d/2eDzKzc3VsGHDVF5erqqqqlbBCAAAoCOirPrBY8eO1dixY1VaWnrIsV27dmnKlCkaNGiQf99rr70mt9utOXPmKD4+XjNnztRvf/tbjR8/vs3rezweeTwe/7bP59OuXbvUq1cvRUREBP4NAQCAgDMMQ42NjTr55JMVGRmYezaWhZ/58+drwIABmjx58iHHpkyZojFjxmjv3r3+fevXr5fL5VJ8fLwkKTMzU1VVVe1ef9asWZo+fXrA6wYAAF2vtrZWp5xySkCuZVn4GTBgQJv733nnHb311luqrKzUpEmT/PsbGhqUlpbm346IiJDD4VBdXZ2SkpIOuc60adN06623+rfdbrf69u2r2tpaJSQkBPCdAACAYGloaFCfPn10/PHHB+yaloWftuzbt08TJkzQvHnzDgkoUVFRio2NbbUvLi5OTU1NbYaf2NjYQ86XpISEBMIPAABhJpBDVkLqUff77rtPWVlZGjVq1CHHkpOTtX379lb7GhsbFRMT01XlAQCAbiCk7vwsWbJE27dvV2JioiSpqalJy5Yt0/vvv69LL71UTz31lP/cmpoaeTweJScnW1QtAAAIRyEVft59910dOHDAvz116lS5XC4VFBQoMTFRbrdbixYt0lVXXaWioiKNHDlSDofDwooBAEC4Canwc/Ao7p49e6p3797q3bu3JPMJsXHjxqmwsFBer1crV660okwAABDGIowwmyZ527ZtKi8vV3Z2tlJSUjr8fQ0NDXI6nXK73Qx4BgAgTATj8zuk7vx0RGpqqlJTU60uAwAAhKmQetoLAAAg2Ag/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAVgg/AADAViwNPzt37lRaWppqamr8+/72t79pwIABioqK0vDhw7Vx40b/scrKSmVlZSkpKUmFhYUyDMOCqgEAQDizLPzs2LFDo0ePbhV8Nm3apPHjx6uoqEjbtm1Tv379dO2110qSPB6PcnNzNWzYMJWXl6uqqkrFxcXWFA8AAMKWZeFn7NixGjt2bKt9Gzdu1MyZM/XLX/5SJ554on7zm9+ovLxckvTaa6/J7XZrzpw5GjhwoGbOnKkFCxa0e32Px6OGhoZWXwAAAFFW/eD58+drwIABmjx5sn/f6NGjW53zySefKD09XZK0fv16uVwuxcfHS5IyMzNVVVXV7vVnzZql6dOnB75wAAAQ1iy78zNgwIDDHt+/f79mz56tiRMnSpIaGhqUlpbmPx4RESGHw6G6uro2v3/atGlyu93+r9ra2sAVDwAAwpZld36O5M4771TPnj11/fXXS5KioqIUGxvb6py4uDg1NTUpKSnpkO+PjY095HwAAICQDD9vvvmmnnjiCZWWlio6OlqSlJycrMrKylbnNTY2KiYmxooSAQBAmAq5eX42b96sK664QvPmzdOQIUP8+7OyslRaWurfrqmpkcfj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E34GDBjQ5v533nlHb731lu6///5W+xsaGpSWlubfjoiIkMPhUF1dXVDrtIO22mLjxo067bTTtHTpUlVVVSk6OloTJkyQRFsEU1ttsXv3bt1555069dRTtXXrVs2ZM0cjRozQvn37aIsga+/vVIslS5bI5XKpf//+kvjdCKa22mLIkCG69NJLdeaZZyoxMVFlZWWaPXu2JNoimNpqi9NPP10vv/yyfyzPM888o7PPPltOpzMgbdFtwk9b9u3bpwkTJmjevHmHrMobFRV1yFTZcXFxampq6soSbeOKK65QaWmpsrKylJaWpkcffVQrVqxQQ0MDbdHFSkpKtGfPHr399tu66667tGLFCtXX12vRokW0hcWeeOIJ3XDDDf5t2qNrlZaW6pVXXlFZWZkaGxt1+eWX62c/+5kMw6AtutjUqVO1f/9+DRs2TNnZ2br//vt14403SgrM70W3Dj/33XefsrKyNGrUqEOOJScna/v27a32NTY2KiYmpqvKs7XExET5fD59+eWXtEUX27p1q4YPH67k5GRJ5h+SzMxMbdmyhbawUHV1taqrqzVy5Ej/Ptqjaz3//PMaO3aszj77bPXs2VMzZszQ5s2btX79etqiiyUnJ+u9997TsmXLlJmZqcGDB2vcuHH+Y8faFt06/CxZskR/+9vflJiYqMTERC1ZskQTJ07UxIkTlZWVpdLSUv+5NTU18ng8/g8EBNatt96qZcuW+bc/+OADRUZGqk+fPrRFF+vTp4/27t3bat9nn32mfv360RYWWrZsmUaPHq3o6Gj/Ptqjax04cEBff/21f7uxsVF79uyR1+ulLSxy8sknq6SkRLNmzfKP+wlIWwRmrHbo0HdGi9fW1hpbtmzxf11yySXGH//4R2P79u1Gc3OzkZKSYixcuNAwDMOYMGGCMXr0aAsr736+2xYLFy400tPTjZUrVxpvvfWWMXjwYOPqq682DMOgLbrAd9ti586dhtPpNObNm2fU1tYaDz/8sBEbG2ts2bKFtugiauNpr3POOcd4+umnW+2jPYLvu22xdOlSo0ePHsacOXOMxYsXGz/60Y+Mvn37Gvv376ctukBbvxdFRUXGOeec02pfINqiW4efg+Xn5/sfdTcM89HFHj16GCeccILRq1cvo7KysmuKtImD2+L22283EhMTjT59+hiTJk0ydu/e7T9GWwTXwW2xZs0aIzs72+jRo4eRlpZmLF++3H+Mtgi+g9ujqanJiImJMTZu3HjIubRHcH23LXw+n3HPPfcYffv2NaKjo40zzjjDKC8v959LWwTXwb8XdXV1RnJysvH+++8fcu6xtoXtV3Xftm2bysvLlZ2drZSUFKvLsTXaInTQFqGF9ggdtEXoOJa2sH34AQAA9tKtBzwDAAAcjPADAABshfADAABshfADAABshfADwFIff/yxli9frgMHDnT4e3w+n6qqqtTQ0HBUP4vnOwBIhB8AFnvhhRf04IMPKioqqsPf4/P5NGLECP31r389qp81derUVjP4ArAnHnUHYIlzzz1XmzZtUmJiYqv9hmGoqqpKu3fv1nHHHaePPvpI55xzjpKSkhQREeE/z+12Kzo6WvHx8f59zc3NSkhIUEVFxSE/r7a2Vvfdd5/mz58ftPcEIDwQfgBY4oILLtDll1+ugoKCVvv37dunHj16qLm5udXdIK/Xq6VLl7Z7vUGDBikrK6vd4xMnTtSUKVM0cODAY64dQHij2wuAJaKjozV16lT179+/1degQYMk6ZBuMMMwdOWVV8owDEVFRbX6evPNN7VkyZJ2f9amTZsUGRlJ8AEgSep4JzsABNjs2bPbvfMjSStWrNBPf/pTSeadH0kqKipq1f0lSTt37tRll13W7s+ZNWuW7r777lb7li5dqt///vf65ptvdNFFF+nPf/6znE6nIiIiNGnSJC1dulS33nqrXnnlFX3++edavXq1+vTpc6xvGUAIIPwAsMzUqVN1zz33tNrX0hM/bdo0LV68WCtWrNDgwYMVGxvbqae1qqqqlJCQ0Cq4rFmzRtddd52WLl2qjIwMjR8/Xnfffbfmzp0rSYqJidE111yj3//+93rrrbd09dVX69///reuuOKKTr9XAKGD8APAMm3d+fnqq6900kknqbS0VGvXrlWvXr2Uk5Oj9evXH/GJMI/Ho/Hjx+vxxx/37ysqKtIf//jHVuc988wzuvLKK5WbmytJeuKJJ/TFF1/4j19zzTUqLS3VmWeeqXPOOUepqalqbm4+xncLIFQQfgB0qSFDhuiLL75QU1OTVq5cqalTp7Y63tTUJMns8oqOjpYkxcbG6rnnntPo0aMPe+0ZM2Zo165d/u21a9cqNTVVJ554Yqvztm7dqnPPPde/PWjQIP9YI0mKi4tr9U8A3QsDngF0qZUrV2rz5s365ptvVFtbq+rqaq1fv15jxoxRdHS0f+6eluAjSZGR//1TlZGRoczMTJ111lk666yzNGDAAF1++eVtnvvAAw+osLDwkBr69OmjLVu2+LffeecdXXTRRQF9nwBCF3d+AHSplJQU/2uPx6Nnn31W9913n84++2ytW7dOTqfzkO/57lifhIQELV68WP3795ck/eUvf9GKFSsO+Z41a9Zo8ODBSk5OPuTY+PHjNXLkSI0ePVqnnXaaZs2apbS0tAC8OwDhgPADoEt5PB6tXr1aJSUleuGFF3TeeeeppKREw4YNkyQ1NjYe8j0+n8//uk+fPrr00ktbHW95Iszn8/nv/MyZM0cLFixoswaXy6Unn3xSt9xyi3bs2KHc3NxDxgUB6L6Y5BBAl2lubtYFF1ygzZs3Kz8/X9dee22rp7Cuv/56vfTSS0pMTNSnn37q35+Tk6Np06YddszP7Nmz9eSTT2rOnDkaNWqUPvroI5122mlBfT8AwhPhB0CXamxsVM+ePQ+Zq0eS1q1bp02bNum8885Tr169juq6+/fvV3R0dJvXBYDvIvwAAABb4WkvAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK/8fPHXdY63KpcIAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#建立模型，训练模型\n",
    "model=KNeighborsRegressor(3)   #建立模型\n",
    "model.fit(x_train,y_train)     #训练模型\n",
    "#设置坐标轴\n",
    "plt.xlabel('身高/cm')          #图形横轴的标签名称\n",
    "plt.ylabel('体重/kg')          #图形纵轴的标签名称\n",
    "plt.rcParams['font.sans-serif']='Simhei'     #中文文字设置为黑体\n",
    "plt.axis([140,190,40,140])     #设置图像横轴与纵轴的最大值与最小值\n",
    "#绘制并显示图形\n",
    "plt.scatter(x,y,s=60,c='k',marker='o')     #绘制散点图\n",
    "plt.plot(x,model.predict(x),'r-')          #绘制曲线\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "e7e8ce37-eae2-45d4-9398-124c63f09629",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "身高173cm的学生体重预测为 [[100.33333333]]\n"
     ]
    }
   ],
   "source": [
    "pred=model.predict([[173]])\n",
    "print(\"身高173cm的学生体重预测为\",pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "23bc3653-75bc-40c2-b020-29b1dcf11505",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
